package cn.kgc.ubagnet.pojo;

import java.util.ArrayList;
import java.util.List;

public class CartProExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CartProExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCartidIsNull() {
            addCriterion("Cartid is null");
            return (Criteria) this;
        }

        public Criteria andCartidIsNotNull() {
            addCriterion("Cartid is not null");
            return (Criteria) this;
        }

        public Criteria andCartidEqualTo(String value) {
            addCriterion("Cartid =", value, "cartid");
            return (Criteria) this;
        }

        public Criteria andCartidNotEqualTo(String value) {
            addCriterion("Cartid <>", value, "cartid");
            return (Criteria) this;
        }

        public Criteria andCartidGreaterThan(String value) {
            addCriterion("Cartid >", value, "cartid");
            return (Criteria) this;
        }

        public Criteria andCartidGreaterThanOrEqualTo(String value) {
            addCriterion("Cartid >=", value, "cartid");
            return (Criteria) this;
        }

        public Criteria andCartidLessThan(String value) {
            addCriterion("Cartid <", value, "cartid");
            return (Criteria) this;
        }

        public Criteria andCartidLessThanOrEqualTo(String value) {
            addCriterion("Cartid <=", value, "cartid");
            return (Criteria) this;
        }

        public Criteria andCartidLike(String value) {
            addCriterion("Cartid like", value, "cartid");
            return (Criteria) this;
        }

        public Criteria andCartidNotLike(String value) {
            addCriterion("Cartid not like", value, "cartid");
            return (Criteria) this;
        }

        public Criteria andCartidIn(List<String> values) {
            addCriterion("Cartid in", values, "cartid");
            return (Criteria) this;
        }

        public Criteria andCartidNotIn(List<String> values) {
            addCriterion("Cartid not in", values, "cartid");
            return (Criteria) this;
        }

        public Criteria andCartidBetween(String value1, String value2) {
            addCriterion("Cartid between", value1, value2, "cartid");
            return (Criteria) this;
        }

        public Criteria andCartidNotBetween(String value1, String value2) {
            addCriterion("Cartid not between", value1, value2, "cartid");
            return (Criteria) this;
        }

        public Criteria andProidIsNull() {
            addCriterion("proid is null");
            return (Criteria) this;
        }

        public Criteria andProidIsNotNull() {
            addCriterion("proid is not null");
            return (Criteria) this;
        }

        public Criteria andProidEqualTo(Integer value) {
            addCriterion("proid =", value, "proid");
            return (Criteria) this;
        }

        public Criteria andProidNotEqualTo(Integer value) {
            addCriterion("proid <>", value, "proid");
            return (Criteria) this;
        }

        public Criteria andProidGreaterThan(Integer value) {
            addCriterion("proid >", value, "proid");
            return (Criteria) this;
        }

        public Criteria andProidGreaterThanOrEqualTo(Integer value) {
            addCriterion("proid >=", value, "proid");
            return (Criteria) this;
        }

        public Criteria andProidLessThan(Integer value) {
            addCriterion("proid <", value, "proid");
            return (Criteria) this;
        }

        public Criteria andProidLessThanOrEqualTo(Integer value) {
            addCriterion("proid <=", value, "proid");
            return (Criteria) this;
        }

        public Criteria andProidIn(List<Integer> values) {
            addCriterion("proid in", values, "proid");
            return (Criteria) this;
        }

        public Criteria andProidNotIn(List<Integer> values) {
            addCriterion("proid not in", values, "proid");
            return (Criteria) this;
        }

        public Criteria andProidBetween(Integer value1, Integer value2) {
            addCriterion("proid between", value1, value2, "proid");
            return (Criteria) this;
        }

        public Criteria andProidNotBetween(Integer value1, Integer value2) {
            addCriterion("proid not between", value1, value2, "proid");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(Double value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(Double value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(Double value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(Double value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(Double value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<Double> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<Double> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(Double value1, Double value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(Double value1, Double value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andNumIsNull() {
            addCriterion("num is null");
            return (Criteria) this;
        }

        public Criteria andNumIsNotNull() {
            addCriterion("num is not null");
            return (Criteria) this;
        }

        public Criteria andNumEqualTo(Integer value) {
            addCriterion("num =", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumNotEqualTo(Integer value) {
            addCriterion("num <>", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumGreaterThan(Integer value) {
            addCriterion("num >", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("num >=", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumLessThan(Integer value) {
            addCriterion("num <", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumLessThanOrEqualTo(Integer value) {
            addCriterion("num <=", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumIn(List<Integer> values) {
            addCriterion("num in", values, "num");
            return (Criteria) this;
        }

        public Criteria andNumNotIn(List<Integer> values) {
            addCriterion("num not in", values, "num");
            return (Criteria) this;
        }

        public Criteria andNumBetween(Integer value1, Integer value2) {
            addCriterion("num between", value1, value2, "num");
            return (Criteria) this;
        }

        public Criteria andNumNotBetween(Integer value1, Integer value2) {
            addCriterion("num not between", value1, value2, "num");
            return (Criteria) this;
        }

        public Criteria andTotalpriceIsNull() {
            addCriterion("totalprice is null");
            return (Criteria) this;
        }

        public Criteria andTotalpriceIsNotNull() {
            addCriterion("totalprice is not null");
            return (Criteria) this;
        }

        public Criteria andTotalpriceEqualTo(Double value) {
            addCriterion("totalprice =", value, "totalprice");
            return (Criteria) this;
        }

        public Criteria andTotalpriceNotEqualTo(Double value) {
            addCriterion("totalprice <>", value, "totalprice");
            return (Criteria) this;
        }

        public Criteria andTotalpriceGreaterThan(Double value) {
            addCriterion("totalprice >", value, "totalprice");
            return (Criteria) this;
        }

        public Criteria andTotalpriceGreaterThanOrEqualTo(Double value) {
            addCriterion("totalprice >=", value, "totalprice");
            return (Criteria) this;
        }

        public Criteria andTotalpriceLessThan(Double value) {
            addCriterion("totalprice <", value, "totalprice");
            return (Criteria) this;
        }

        public Criteria andTotalpriceLessThanOrEqualTo(Double value) {
            addCriterion("totalprice <=", value, "totalprice");
            return (Criteria) this;
        }

        public Criteria andTotalpriceIn(List<Double> values) {
            addCriterion("totalprice in", values, "totalprice");
            return (Criteria) this;
        }

        public Criteria andTotalpriceNotIn(List<Double> values) {
            addCriterion("totalprice not in", values, "totalprice");
            return (Criteria) this;
        }

        public Criteria andTotalpriceBetween(Double value1, Double value2) {
            addCriterion("totalprice between", value1, value2, "totalprice");
            return (Criteria) this;
        }

        public Criteria andTotalpriceNotBetween(Double value1, Double value2) {
            addCriterion("totalprice not between", value1, value2, "totalprice");
            return (Criteria) this;
        }

        public Criteria andPropriceIsNull() {
            addCriterion("proprice is null");
            return (Criteria) this;
        }

        public Criteria andPropriceIsNotNull() {
            addCriterion("proprice is not null");
            return (Criteria) this;
        }

        public Criteria andPropriceEqualTo(Double value) {
            addCriterion("proprice =", value, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceNotEqualTo(Double value) {
            addCriterion("proprice <>", value, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceGreaterThan(Double value) {
            addCriterion("proprice >", value, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceGreaterThanOrEqualTo(Double value) {
            addCriterion("proprice >=", value, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceLessThan(Double value) {
            addCriterion("proprice <", value, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceLessThanOrEqualTo(Double value) {
            addCriterion("proprice <=", value, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceIn(List<Double> values) {
            addCriterion("proprice in", values, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceNotIn(List<Double> values) {
            addCriterion("proprice not in", values, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceBetween(Double value1, Double value2) {
            addCriterion("proprice between", value1, value2, "proprice");
            return (Criteria) this;
        }

        public Criteria andPropriceNotBetween(Double value1, Double value2) {
            addCriterion("proprice not between", value1, value2, "proprice");
            return (Criteria) this;
        }

        public Criteria andUseridIsNull() {
            addCriterion("userid is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("userid is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(Integer value) {
            addCriterion("userid =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(Integer value) {
            addCriterion("userid <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(Integer value) {
            addCriterion("userid >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(Integer value) {
            addCriterion("userid >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(Integer value) {
            addCriterion("userid <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(Integer value) {
            addCriterion("userid <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<Integer> values) {
            addCriterion("userid in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<Integer> values) {
            addCriterion("userid not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(Integer value1, Integer value2) {
            addCriterion("userid between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(Integer value1, Integer value2) {
            addCriterion("userid not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andScrap1IsNull() {
            addCriterion("scrap1 is null");
            return (Criteria) this;
        }

        public Criteria andScrap1IsNotNull() {
            addCriterion("scrap1 is not null");
            return (Criteria) this;
        }

        public Criteria andScrap1EqualTo(String value) {
            addCriterion("scrap1 =", value, "scrap1");
            return (Criteria) this;
        }

        public Criteria andScrap1NotEqualTo(String value) {
            addCriterion("scrap1 <>", value, "scrap1");
            return (Criteria) this;
        }

        public Criteria andScrap1GreaterThan(String value) {
            addCriterion("scrap1 >", value, "scrap1");
            return (Criteria) this;
        }

        public Criteria andScrap1GreaterThanOrEqualTo(String value) {
            addCriterion("scrap1 >=", value, "scrap1");
            return (Criteria) this;
        }

        public Criteria andScrap1LessThan(String value) {
            addCriterion("scrap1 <", value, "scrap1");
            return (Criteria) this;
        }

        public Criteria andScrap1LessThanOrEqualTo(String value) {
            addCriterion("scrap1 <=", value, "scrap1");
            return (Criteria) this;
        }

        public Criteria andScrap1Like(String value) {
            addCriterion("scrap1 like", value, "scrap1");
            return (Criteria) this;
        }

        public Criteria andScrap1NotLike(String value) {
            addCriterion("scrap1 not like", value, "scrap1");
            return (Criteria) this;
        }

        public Criteria andScrap1In(List<String> values) {
            addCriterion("scrap1 in", values, "scrap1");
            return (Criteria) this;
        }

        public Criteria andScrap1NotIn(List<String> values) {
            addCriterion("scrap1 not in", values, "scrap1");
            return (Criteria) this;
        }

        public Criteria andScrap1Between(String value1, String value2) {
            addCriterion("scrap1 between", value1, value2, "scrap1");
            return (Criteria) this;
        }

        public Criteria andScrap1NotBetween(String value1, String value2) {
            addCriterion("scrap1 not between", value1, value2, "scrap1");
            return (Criteria) this;
        }

        public Criteria andScrap2IsNull() {
            addCriterion("scrap2 is null");
            return (Criteria) this;
        }

        public Criteria andScrap2IsNotNull() {
            addCriterion("scrap2 is not null");
            return (Criteria) this;
        }

        public Criteria andScrap2EqualTo(String value) {
            addCriterion("scrap2 =", value, "scrap2");
            return (Criteria) this;
        }

        public Criteria andScrap2NotEqualTo(String value) {
            addCriterion("scrap2 <>", value, "scrap2");
            return (Criteria) this;
        }

        public Criteria andScrap2GreaterThan(String value) {
            addCriterion("scrap2 >", value, "scrap2");
            return (Criteria) this;
        }

        public Criteria andScrap2GreaterThanOrEqualTo(String value) {
            addCriterion("scrap2 >=", value, "scrap2");
            return (Criteria) this;
        }

        public Criteria andScrap2LessThan(String value) {
            addCriterion("scrap2 <", value, "scrap2");
            return (Criteria) this;
        }

        public Criteria andScrap2LessThanOrEqualTo(String value) {
            addCriterion("scrap2 <=", value, "scrap2");
            return (Criteria) this;
        }

        public Criteria andScrap2Like(String value) {
            addCriterion("scrap2 like", value, "scrap2");
            return (Criteria) this;
        }

        public Criteria andScrap2NotLike(String value) {
            addCriterion("scrap2 not like", value, "scrap2");
            return (Criteria) this;
        }

        public Criteria andScrap2In(List<String> values) {
            addCriterion("scrap2 in", values, "scrap2");
            return (Criteria) this;
        }

        public Criteria andScrap2NotIn(List<String> values) {
            addCriterion("scrap2 not in", values, "scrap2");
            return (Criteria) this;
        }

        public Criteria andScrap2Between(String value1, String value2) {
            addCriterion("scrap2 between", value1, value2, "scrap2");
            return (Criteria) this;
        }

        public Criteria andScrap2NotBetween(String value1, String value2) {
            addCriterion("scrap2 not between", value1, value2, "scrap2");
            return (Criteria) this;
        }

        public Criteria andScrap3IsNull() {
            addCriterion("scrap3 is null");
            return (Criteria) this;
        }

        public Criteria andScrap3IsNotNull() {
            addCriterion("scrap3 is not null");
            return (Criteria) this;
        }

        public Criteria andScrap3EqualTo(String value) {
            addCriterion("scrap3 =", value, "scrap3");
            return (Criteria) this;
        }

        public Criteria andScrap3NotEqualTo(String value) {
            addCriterion("scrap3 <>", value, "scrap3");
            return (Criteria) this;
        }

        public Criteria andScrap3GreaterThan(String value) {
            addCriterion("scrap3 >", value, "scrap3");
            return (Criteria) this;
        }

        public Criteria andScrap3GreaterThanOrEqualTo(String value) {
            addCriterion("scrap3 >=", value, "scrap3");
            return (Criteria) this;
        }

        public Criteria andScrap3LessThan(String value) {
            addCriterion("scrap3 <", value, "scrap3");
            return (Criteria) this;
        }

        public Criteria andScrap3LessThanOrEqualTo(String value) {
            addCriterion("scrap3 <=", value, "scrap3");
            return (Criteria) this;
        }

        public Criteria andScrap3Like(String value) {
            addCriterion("scrap3 like", value, "scrap3");
            return (Criteria) this;
        }

        public Criteria andScrap3NotLike(String value) {
            addCriterion("scrap3 not like", value, "scrap3");
            return (Criteria) this;
        }

        public Criteria andScrap3In(List<String> values) {
            addCriterion("scrap3 in", values, "scrap3");
            return (Criteria) this;
        }

        public Criteria andScrap3NotIn(List<String> values) {
            addCriterion("scrap3 not in", values, "scrap3");
            return (Criteria) this;
        }

        public Criteria andScrap3Between(String value1, String value2) {
            addCriterion("scrap3 between", value1, value2, "scrap3");
            return (Criteria) this;
        }

        public Criteria andScrap3NotBetween(String value1, String value2) {
            addCriterion("scrap3 not between", value1, value2, "scrap3");
            return (Criteria) this;
        }

        public Criteria andChecktIsNull() {
            addCriterion("checkt is null");
            return (Criteria) this;
        }

        public Criteria andChecktIsNotNull() {
            addCriterion("checkt is not null");
            return (Criteria) this;
        }

        public Criteria andChecktEqualTo(Integer value) {
            addCriterion("checkt =", value, "checkt");
            return (Criteria) this;
        }

        public Criteria andChecktNotEqualTo(Integer value) {
            addCriterion("checkt <>", value, "checkt");
            return (Criteria) this;
        }

        public Criteria andChecktGreaterThan(Integer value) {
            addCriterion("checkt >", value, "checkt");
            return (Criteria) this;
        }

        public Criteria andChecktGreaterThanOrEqualTo(Integer value) {
            addCriterion("checkt >=", value, "checkt");
            return (Criteria) this;
        }

        public Criteria andChecktLessThan(Integer value) {
            addCriterion("checkt <", value, "checkt");
            return (Criteria) this;
        }

        public Criteria andChecktLessThanOrEqualTo(Integer value) {
            addCriterion("checkt <=", value, "checkt");
            return (Criteria) this;
        }

        public Criteria andChecktIn(List<Integer> values) {
            addCriterion("checkt in", values, "checkt");
            return (Criteria) this;
        }

        public Criteria andChecktNotIn(List<Integer> values) {
            addCriterion("checkt not in", values, "checkt");
            return (Criteria) this;
        }

        public Criteria andChecktBetween(Integer value1, Integer value2) {
            addCriterion("checkt between", value1, value2, "checkt");
            return (Criteria) this;
        }

        public Criteria andChecktNotBetween(Integer value1, Integer value2) {
            addCriterion("checkt not between", value1, value2, "checkt");
            return (Criteria) this;
        }

        public Criteria andPronameIsNull() {
            addCriterion("proname is null");
            return (Criteria) this;
        }

        public Criteria andPronameIsNotNull() {
            addCriterion("proname is not null");
            return (Criteria) this;
        }

        public Criteria andPronameEqualTo(String value) {
            addCriterion("proname =", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameNotEqualTo(String value) {
            addCriterion("proname <>", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameGreaterThan(String value) {
            addCriterion("proname >", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameGreaterThanOrEqualTo(String value) {
            addCriterion("proname >=", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameLessThan(String value) {
            addCriterion("proname <", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameLessThanOrEqualTo(String value) {
            addCriterion("proname <=", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameLike(String value) {
            addCriterion("proname like", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameNotLike(String value) {
            addCriterion("proname not like", value, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameIn(List<String> values) {
            addCriterion("proname in", values, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameNotIn(List<String> values) {
            addCriterion("proname not in", values, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameBetween(String value1, String value2) {
            addCriterion("proname between", value1, value2, "proname");
            return (Criteria) this;
        }

        public Criteria andPronameNotBetween(String value1, String value2) {
            addCriterion("proname not between", value1, value2, "proname");
            return (Criteria) this;
        }

        public Criteria andImg1IsNull() {
            addCriterion("img1 is null");
            return (Criteria) this;
        }

        public Criteria andImg1IsNotNull() {
            addCriterion("img1 is not null");
            return (Criteria) this;
        }

        public Criteria andImg1EqualTo(String value) {
            addCriterion("img1 =", value, "img1");
            return (Criteria) this;
        }

        public Criteria andImg1NotEqualTo(String value) {
            addCriterion("img1 <>", value, "img1");
            return (Criteria) this;
        }

        public Criteria andImg1GreaterThan(String value) {
            addCriterion("img1 >", value, "img1");
            return (Criteria) this;
        }

        public Criteria andImg1GreaterThanOrEqualTo(String value) {
            addCriterion("img1 >=", value, "img1");
            return (Criteria) this;
        }

        public Criteria andImg1LessThan(String value) {
            addCriterion("img1 <", value, "img1");
            return (Criteria) this;
        }

        public Criteria andImg1LessThanOrEqualTo(String value) {
            addCriterion("img1 <=", value, "img1");
            return (Criteria) this;
        }

        public Criteria andImg1Like(String value) {
            addCriterion("img1 like", value, "img1");
            return (Criteria) this;
        }

        public Criteria andImg1NotLike(String value) {
            addCriterion("img1 not like", value, "img1");
            return (Criteria) this;
        }

        public Criteria andImg1In(List<String> values) {
            addCriterion("img1 in", values, "img1");
            return (Criteria) this;
        }

        public Criteria andImg1NotIn(List<String> values) {
            addCriterion("img1 not in", values, "img1");
            return (Criteria) this;
        }

        public Criteria andImg1Between(String value1, String value2) {
            addCriterion("img1 between", value1, value2, "img1");
            return (Criteria) this;
        }

        public Criteria andImg1NotBetween(String value1, String value2) {
            addCriterion("img1 not between", value1, value2, "img1");
            return (Criteria) this;
        }

        public Criteria andColorIsNull() {
            addCriterion("color is null");
            return (Criteria) this;
        }

        public Criteria andColorIsNotNull() {
            addCriterion("color is not null");
            return (Criteria) this;
        }

        public Criteria andColorEqualTo(String value) {
            addCriterion("color =", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotEqualTo(String value) {
            addCriterion("color <>", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorGreaterThan(String value) {
            addCriterion("color >", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorGreaterThanOrEqualTo(String value) {
            addCriterion("color >=", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorLessThan(String value) {
            addCriterion("color <", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorLessThanOrEqualTo(String value) {
            addCriterion("color <=", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorLike(String value) {
            addCriterion("color like", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotLike(String value) {
            addCriterion("color not like", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorIn(List<String> values) {
            addCriterion("color in", values, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotIn(List<String> values) {
            addCriterion("color not in", values, "color");
            return (Criteria) this;
        }

        public Criteria andColorBetween(String value1, String value2) {
            addCriterion("color between", value1, value2, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotBetween(String value1, String value2) {
            addCriterion("color not between", value1, value2, "color");
            return (Criteria) this;
        }

        public Criteria andSizeIsNull() {
            addCriterion("size is null");
            return (Criteria) this;
        }

        public Criteria andSizeIsNotNull() {
            addCriterion("size is not null");
            return (Criteria) this;
        }

        public Criteria andSizeEqualTo(String value) {
            addCriterion("size =", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotEqualTo(String value) {
            addCriterion("size <>", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeGreaterThan(String value) {
            addCriterion("size >", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeGreaterThanOrEqualTo(String value) {
            addCriterion("size >=", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeLessThan(String value) {
            addCriterion("size <", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeLessThanOrEqualTo(String value) {
            addCriterion("size <=", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeLike(String value) {
            addCriterion("size like", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotLike(String value) {
            addCriterion("size not like", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeIn(List<String> values) {
            addCriterion("size in", values, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotIn(List<String> values) {
            addCriterion("size not in", values, "size");
            return (Criteria) this;
        }

        public Criteria andSizeBetween(String value1, String value2) {
            addCriterion("size between", value1, value2, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotBetween(String value1, String value2) {
            addCriterion("size not between", value1, value2, "size");
            return (Criteria) this;
        }

        public Criteria andExplainIsNull() {
            addCriterion("explain is null");
            return (Criteria) this;
        }

        public Criteria andExplainIsNotNull() {
            addCriterion("explain is not null");
            return (Criteria) this;
        }

        public Criteria andExplainEqualTo(String value) {
            addCriterion("explain =", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainNotEqualTo(String value) {
            addCriterion("explain <>", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainGreaterThan(String value) {
            addCriterion("explain >", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainGreaterThanOrEqualTo(String value) {
            addCriterion("explain >=", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainLessThan(String value) {
            addCriterion("explain <", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainLessThanOrEqualTo(String value) {
            addCriterion("explain <=", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainLike(String value) {
            addCriterion("explain like", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainNotLike(String value) {
            addCriterion("explain not like", value, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainIn(List<String> values) {
            addCriterion("explain in", values, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainNotIn(List<String> values) {
            addCriterion("explain not in", values, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainBetween(String value1, String value2) {
            addCriterion("explain between", value1, value2, "explain");
            return (Criteria) this;
        }

        public Criteria andExplainNotBetween(String value1, String value2) {
            addCriterion("explain not between", value1, value2, "explain");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}